Leetcode刷题

您所在的位置:网站首页 leetcode第二题 java Leetcode刷题

Leetcode刷题

2024-07-13 04:28| 来源: 网络整理| 查看: 265

哈希表

当我们想使⽤哈希法来解决问题的时候,我们⼀般会选择如下三种数据结构。

数组set (集合)map(映射)

当我们遇到了要快速判断⼀个元素是否出现集合⾥的时候,就要考虑哈希法。如果在做⾯试题⽬的时候遇到需要判断⼀个元素是否出现过的场景也应该第⼀时间想到哈希法!

这一部分的题就是需要注意,如果用到了set,map,在定义的时候需要用包装类,也就是引用数据类型,而不是基本数据类型

0、泛型不能直接使用基本数据类型!!!

例如 int、double、char 等。但是 Java 提供了对应的包装类来解决这个问题,例如 Integer、Double、Character 等。所以,你可以在泛型中使用这些包装类来代替基本数据类型。

​ 例如,你可以使用 Integer 代替 int,Double 代替 double,Character 代替 char,以及其他包装类来替代其他基本数据类型。

// byte 对应 Byte // short 对应 Short // int 对应 Integer // long 对应 Long // float 对应 Float // double 对应 Double // char 对应 Character // boolean 对应 Boolean 1、有效的字⺟异位词(数组哈希表)

242. 有效的字母异位词 - 力扣(LeetCode)

其实就是不能出现一个字母只在前面出现,但是没在后面那个字符串中。并且需要 s 和 t 中每个字符出现的次数都相同

在这里插入图片描述

可以用数组,遍历字符串,然后设一个数组,hash[26],每遍历到一个字母,相应位置加1,之后遍历第二个字符串,遍历到对应字母就去减1,然后看最后这个hash中有无负值

public boolean isAnagram(String s, String t) { int[] hash = new int[26]; for(int i = 0; i left && nums[left] == nums[left + 1]) left++; left++; right--; } } } } return result; }

基于代码随想录的学习,同时刷题总结哈希表的常用思路以及一些刷题笔记



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3